<?php
defined('BASEPATH') OR exit('No direct script access allowed');

/**
 * C端前台主页控制器
 *
 * @version 1.0.0
 * @author  Jason
 * @date	2017年5月2日 上午
 *
 * @desc    完善文档注释
 * @version 1.1.0
 * @date	2017年6月27日 下午5:26:04
 *
 * @title C端前台主页
 * @entry http://discovery.segway.com
 */
class Home extends MY_Consumer_Controller
{
	/** @var Lib_section */
	public $lib_section = null;
	
	public function __construct()
	{
		parent::__construct();
	}
	
	/**
	 * 多语言控制器方法，设置语言种类
	 *
	 * @param string $language 语言标识
	 * @example http://discovery.segway.com/home/ajax_set_language/english
	 */
	private function ajax_set_language($language)
	{
		$this->lib_cookie->set_language($language);
		Lib_json::renderSuccess([]);
	}
	
	/**
	 * 多币种控制器方法，设置货币种类
	 *
	 * @param string $currency 货币标识
	 * @example http://discovery.segway.com/home/ajax_set_currency/USD
	 */
	private function ajax_set_currency($currency)
	{
		$currency = strtoupper($currency);
		$this->lib_cookie->set_currency($currency);
		Lib_json::renderSuccess([]);
	}
	
	
	
	// TODO remove it
	/**
	 * 前端人员PHP模板示例
	 *
	 * @return html
	 * 
	 * @command pass
	 */
	public function demo()
	{
		$data = [];
		$data['title'] = '标题';
		$data['member'] = ['name'=>'John'];
		$data['array'] = ['id' => 1, 'name' => '姓名', 'password'=>'密码', '...'=>'...'];
		$data['metrix'] = [
				['id' => 1, 'name' => 'username', 'password'=>'password'],
				['id' => 2, 'name' => 'username2', 'password'=>'password'],
				['id' => 3, 'name' => 'username3', 'password'=>'password'],
				['id' => 4, 'name' => 'username4', 'password'=>'password'],
				['id' => 5, 'name' => 'username5', 'password'=>'password'],
		];
		
		$this->load->view('consumer/home/demo', $data);
	}
	
	/**
	 * C端前台首页
	 *
	 * @return html
	 */
	public function index()
	{
		$this->load->library('lib_section');
		$data['carousel'] = $this->lib_section->index_carousel();
		$data['search'] = $this->lib_section->index_search();
		
		$cookie_lang = $this->lib_cookie->get_language();
		$language = $this->lib_language->get_supported_language($cookie_lang);
		$data['recommend'] = $this->lib_section->index_recommend($language);
		
		$this->load->view('consumer/home/index', $data);
	}
	
	
	/*
	 * 地图搜索逻辑
	 * ------------------------------------------------------------------------
	 * 
	 * 国家城市确定 -> 绘制全部点
	 * 输入关键字 -> 返回关键字列表 和 id
	 * 点击返回的关键字 -> 跳转到详情
	 * 搜索输入的关键字 -> 跳转到搜索
	 * 
	 * 	点击历史的搜索 => 同搜索输入的关键字
	 * 	历史搜索只会从 搜索 按钮中提取
	 * 	历史搜索没有ID信息
	 * 
	 * 对应接口：
	 * 根据 (国家,城市,和语言) -> 取点集,ID,名称等
	 * 根据 (国家,城市,关键字,和语言) -> 取补全的兴趣点名称，包含ID
	 * ------------------------------------------------------------------------
	 */
	/**
	 * 根据 (国家,城市,和语言) -> 取点集,ID,名称等
	 * 
	 * @desc    description
	 * @method  GET
	 * @author  Jason
	 * @date    2017年5月11日 下午7:37:13
	 * 
	 * @param   number $country 国家ID，默认为 0
	 * @param   number $city    城市ID，默认为 0
	 * @param   string $language 默认为 ""，从 COOKIE 中取，取不到则默认为 <default>"english"
	 * 			把参数按顺序辍到 URL 之后，用 "/" 间隔
	 * @example 如果参数为 country=693000 city=86690000 language=english
	 * 			那么URL为 /home/ajax_poi_list/693000/86690000/english
	 * 			以下都是合法的 URL:
	 * 				/home/ajax_poi_list
	 * 				/home/ajax_poi_list/693000
	 * 				/home/ajax_poi_list/693000/86690000/english
	 *
	 * @return  JSON	标准JSON格式响应
	 * 
	 * @link    /home/ajax_poi_list
	 * 
	 * @demoParam country 693000
	 * @demoParam city 86690000
	 * @demoParam language english
	 * 
	 * ------------------------------------------------------------------------
	 * * 地图搜索逻辑
	 * ------------------------------------------------------------------------
	 * 
	 * 国家城市确定 -> 绘制全部点
	 * 输入关键字 -> 返回关键字列表 和 id
	 * 点击返回的关键字 -> 跳转到详情
	 * 搜索输入的关键字 -> 跳转到搜索
	 * 
	 * 	点击历史的搜索 => 同搜索输入的关键字
	 * 	历史搜索只会从 搜索 按钮中提取
	 * 	历史搜索没有ID信息
	 * 
	 * 对应接口：
	 * 根据 (国家,城市,和语言) -> 取点集,ID,名称等
	 * 根据 (国家,城市,关键字,和语言) -> 取补全的兴趣点名称，包含ID
	 * ------------------------------------------------------------------------
	 */
	public function ajax_poi_list($country = 0, $city = 0, $language = '')
	{
		$cookie_lang = $this->lib_cookie->get_language();
		
		$language = $this->lib_language->get_supported_language($language, $cookie_lang);
		
		$this->load->library('lib_section');
		$data = $this->lib_section->common_search_get_poi_list($country, $city, $language);
		
		$status = true;
		$content = $data;
		if(!$status) {
			Lib_json::renderError(Lib_json::ERROR_BUSINESS, $content);
		} else {
			Lib_json::renderSuccess(['data' => $content]);
		}
	}
	
	/**
	 * 根据 (国家,城市,关键字,和语言) -> 取补全的兴趣点名称，包含ID
	 *
	 * @desc    description
	 * @method  GET
	 * @author  Jason
	 * @date	2017年5月5日 下午5:50:34
	 * @date	2017年5月11日 下午7:36:47
	 * @param   string $keyword 关键字
	 * @param   number $country 国家ID，默认为 0
	 * @param   number $city    城市ID，默认为 0
	 * @param   string $language 默认为 ""，从 COOKIE 中取，取不到则默认为 <default>"english"
	 * 			把参数按顺序辍到 URL 之后，用 "/" 间隔
	 * @example 如果参数为 keyword=segwa country=693000 city=86690000
	 * 			那么URL为 /home/ajax_poi_autocomplete/segwa/693000/86690000
	 * 			以下都是合法的 URL:
	 * 				/home/ajax_poi_autocomplete/segwa
	 * 				/home/ajax_poi_autocomplete/segwa/693000
	 * 				/home/ajax_poi_autocomplete/segwa/693000/86690000
	 *
	 * @return  JSON	标准JSON格式响应
	 * 
	 * @link    /home/ajax_poi_autocomplete
	 * 
	 * @demoParam keyword segwa
	 * @demoParam country 693000
	 * @demoParam city 86690000
	 * @demoParam language english
	 */
	public function ajax_poi_autocomplete($keyword, $country = 0, $city = 0, $language = '')
	{
		$cookie_lang = $this->lib_cookie->get_language();
		
		$language = $this->lib_language->get_supported_language($language, $cookie_lang);
		
		$this->load->library('lib_section');
		$data = $this->lib_section->common_search_get_poi_autocomplete($keyword, $country, $city, $language);
		
		$status = true;
		$content = $data;
		if(!$status) {
			Lib_json::renderError(Lib_json::ERROR_BUSINESS, $content);
		} else {
			Lib_json::renderSuccess(['data' => $content]);
		}
	}
	
	
	// 需求更改，2只有商户
	/**
	 * 取所有商户的点集,ID,名称等
	 *
	 * @desc    description
	 * @method  GET
	 * @author  Jason
	 * @date	2017年8月2日 下午3:23:33
	 *
	 * @param   number $country 国家ID，默认为 0
	 * @param   number $city    城市ID，默认为 0
	 * @param   string $language 默认为 ""，从 COOKIE 中取，取不到则默认为 <default>"english"
	 *
	 * @return  JSON	标准JSON格式响应
	 *
	 * @link    /home/ajax_poi_list_merchant
	 *
	 * @demoParam country 0
	 * @demoParam city 0
	 * @demoParam language english
	 */
	public function ajax_poi_list_merchant($country = 0, $city = 0, $language = '')
	{
		$cookie_lang = $this->lib_cookie->get_language();
		
		$language = $this->lib_language->get_supported_language($language, $cookie_lang);
		
		$this->load->library('lib_section');
		$data = $this->lib_section->common_search_get_poi_list2($country, $city, $language);
		
		$status = true;
		$content = $data;
		if(!$status) {
			Lib_json::renderError(Lib_json::ERROR_BUSINESS, $content);
		} else {
			Lib_json::renderSuccess(['data' => $content]);
		}
	}
}
